home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Varsity Update 1998 August
/
SGI Varsity Update 1998 August.iso
/
dist
/
patchSG0002777.idb
/
var
/
sysgen
/
system.dl
/
irix.sm.z
/
irix.sm
Wrap
Text File
|
1998-07-29
|
14KB
|
326 lines
**************************************************************************
* *
* Copyright (C) 1986-1995 Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
**************************************************************************
*
* This file is used to control the configuration of the operating system.
* Its is read by the lboot(1) command which builds the /1 file. The
* syntax of this file is described in system(4). For more information on
* system configuration, see autoconfig(1), lboot(1), system(4), master(4),
* and systune(1).
*
* $Revision: 1.584 $
*
*
* VME Address, Interrupt Level and VME Vectors for SGI IRIS-4D Systems
*==========================================================================
*
* ADDRESS SPACE
* 1. All IPn generate ONLY data accesses to
* the VME bus. Thus code access privilege is superfluous for all
* envisioned systems. Both can generate both non-privileged and
* supervisor-only cycles.
* 2. IP20, IP22, IP26, IP28 and IP30 do not support VME space.
*
* Privilege codes:
* np/s non-privileged/supervisor access
* c/d code/data access
*
* Access sizes:
* b/w/l byte/word/long access
*
* A16 space:
*
* 'IP4' implements a single write-only byte in the A16 space. When this
* byte is written an on-board mailbox interrupt is generated:
* 'IP4' 0001 00xx xxxx xxxx s/np, d, b 1000-13FF
*
* Interphase Jaguar SCSI boards use first quadrant of A16
* They can not be used on IP4 or R2300
* jag0 0000 0aaa aaaa aaaa s, d, ?? 0000-07FF
* jag1 0000 1aaa aaaa aaaa s, d, ?? 0800-0FFF
* jag2 0001 0aaa aaaa aaaa s, d, ?? 1000-17FF
* jag3 0001 1aaa aaaa aaaa s, d, ?? 1800-1FFF
* jag4 0010 0aaa aaaa aaaa s, d, ?? 2000-27FF
* jag5 0010 1aaa aaaa aaaa s, d, ?? 2800-2FFF
*
* VMUX has 16-bit registers and decodes a 128-byte address space:
* vmux 0 0011 1000 0xxx xxx0 s/np, d, w 3800-387F
*
* Other 3rd-party Peripheral boards use the third quadrant of A16:
* 10xx xxxx xxxx xxxx
* 1st Interphase ESDI uses 512 bytes of A16
* dkip 1000 011a aaaa aaaa s, d, ?? 8600-87FF
* XX GSE
* gse 1001 0000 0010 aaaa np, ?, ?? 9020-903F
* XX 2nd Interphase ESDI uses 512 bytes of A16
* dkip 1001 000a aaaa aaaa s, d, ?? 9000-91FF
* XX there is a conflict above
* IKON Hardcopy uses 16 bytes of A16
* ikon 1001 0010 0000 aaaa s, ?, ?? 9200-921F
* Xylogics 754 SMD
* xyl754 1001 1110 0000 aaaa s, ?, ?? 9E00-
* xyl754 1001 1110 0001 aaaa s, ?, ??
* xyl754 1001 1110 0010 aaaa s, ?, ??
* xyl754 1001 1110 0011 aaaa s, ?, ?? -9E3F
* Xylogics SV IPI disk controller
* xylipi 1001 1110 1000 aaaa s, ?, ?? 9E80-
* xylipi 1001 1110 1001 aaaa s, ?, ??
* xylipi 1001 1110 1010 aaaa s, ?, ??
* xylipi 1001 1110 1011 aaaa s, ?, ?? -9EBF
* 1st pair of FDDIXPress FDDI needs 512/board
* if_ipg2 1010 110a aaaa aaaa AC00-
* if_ipg3 1010 111a aaaa aaaa -AFFF
* 2nd pair of FDDIXPress FDDI needs 512/board
* if_ipg0 1011 001a aaaa aaaa B200-
* if_ipg1 1011 010a aaaa aaaa -B5FF
* Formation fv1600 Token-Ring board
* if_fv3 1011 1001 aaaa aaaa B600
* if_fv2 1011 1000 aaaa aaaa
* if_fv1 1011 0111 aaaa aaaa
* if_fv0 1011 0110 aaaa aaaa -B9FF
*
* A16 Space Reserved for Customer Boards:
* 011x xxxx xxxx xxxx s/np 6000-7FFF
* 11xx xxxx xxxx xxxx s/np C000-FFFF
*
* A24 space:
*
* The bottom 8MB of A24 space, both privileged and non-privileged is
* reserved for 'IP4/5/6/7/9/12,17' RAM. 'IP5/7/9,17' support
* hardware address
* mapping so dumb controllers may DMA to all of RAM. On other systems,
* A24 controllers must DMA to kernel buffers visible in this region
* and copy the data to arbitrary RAM locations.
*
* In IP19, bottom 8MB of A24 space, (both privileged and non-privileged)
* is reserved to map kernel buffers to IO address space for doing DMA.
* Drivers should call dma mapping routines to get the IO address to be
* handed to controller.
* This range is also used by VME bus diagnostic routines in prom.
*
* IPn RAM 0aaa aaaa aaaa aaaa aaaa aaaa s/np, c/d, b/w/l
*
* The top 8MB of privileged A24 space is allocated to 3rd party boards:
* CMC ENP-10 Ethernet
* if_enp3 1101 100a aaaa aaaa aaaa aaaa s
* if_enp2 1101 101a aaaa aaaa aaaa aaaa s
* if_enp1 1101 110a aaaa aaaa aaaa aaaa s
* if_enp0 1101 111a aaaa aaaa aaaa aaaa s
* Central Data SIO
* cdsio 1111 0000 aaaa aaaa aaaa aaaa s
* cdsio 1111 0001 aaaa aaaa aaaa aaaa s
* cdsio 1111 0010 aaaa aaaa aaaa aaaa s
* cdsio 1111 0011 aaaa aaaa aaaa aaaa s
*
* A24 Space Reserved for Customer Boards:
* 1000 xxxx xxxx xxxx xxxx xxxx s (except 'R2300')
* 1001 xxxx xxxx xxxx xxxx xxxx s (except 'R2300')
* 1100 xxxx xxxx xxxx xxxx xxxx s
* (bottom 8Mb + 172kb reserved by SGI in a24 np)
* 1xxx xxxx xxxx xxxx xxxx xxxx np (except 'R2300')
*
* A32 space (non-privileged only):
*
* The IPn RAM occupy up to 256 Mbytes in the A32 space:
* RAM 0000 aaaa aaaa aaaa aaaa aaaa aaaa aaaa np, c/d, b/w/l
*
* All SGI 4D systems have at least 64MB reserved for controllers to use
* for their large, on-board buffers, starting at 0x18000000. The bottom
* half is used for SGI-supported boards, the top half reserved for
* customer boards.
* Note: the 'IP4/6/12' support the entire 192MB non-privileged space
* starting at 0x10000000, and 'IP5/7/9/13/15' support 256MB, both
* supervisor and non-privileged, starting at 0x10000000. See additional
* comments below for information about systems with two VME buses.
*
* In IP19, top 2GB of A32 space, (both privileged and non-privileged)
* is reserved to map kernel buffers to IO address space for doing DMA.
* Drivers should call dma mapping routines to get the IO address to be
* handed to controller.
* This range is also used by VME bus diagnostic routines in prom.
*
* A32 Space Reserved for SGI Boards
* 0001 00xx xxxx xxxx xxxx xxxx xxxx xxxx np
* 0001 100x xxxx xxxx xxxx xxxx xxxx xxxx np
*
* Formation fv1600 uses 2 MB in the A32 space:
* if_fv3 0001 1001 0011 0000 aaaa aaaa aaaa aaaa np, d, b/w/l
* if_fv2 0001 1001 0011 0010 aaaa aaaa aaaa aaaa np, d, b/w/l
* if_fv1 0001 1001 0011 0100 aaaa aaaa aaaa aaaa np, d, b/w/l
* if_fv0 0001 1001 0011 0110 aaaa aaaa aaaa aaaa np, d, b/w/l
* CMC FXP-130 use 1 Mbytes in the A32 space:
* if_fxp3 0001 1001 1000 00aa aaaa aaaa aaaa aaaa np, d, b/w/l
* if_fxp2 0001 1001 1000 01aa aaaa aaaa aaaa aaaa np, d, b/w/l
* if_fxp1 0001 1001 1000 10aa aaaa aaaa aaaa aaaa np, d, b/w/l
* if_fxp0 0001 1001 1000 11aa aaaa aaaa aaaa aaaa np, d, b/w/l
*
* A32 Space Reserved for Customer Boards:
* 0001 01xx xxxx xxxx xxxx xxxx xxxx xxxx np (all but 'R2300')
* 0001 101x xxxx xxxx xxxx xxxx xxxx xxxx np
* 0001 11xx xxxx xxxx xxxx xxxx xxxx xxxx s ('IP5' only)
* 001x xxxx xxxx xxxx xxxx xxxx xxxx xxxx s ('IP19' only)
* 001x xxxx xxxx xxxx xxxx xxxx xxxx xxxx np ('IP19' only)
*
********************************************************
********************************************************
*
* INTERRUPT LEVELS AND VECTORS
* The VME interrupt levels are assigned as follows (IRQ1 is the lowest
* priority; IRQ7 is the highest priority) IRQ vectors are no longer re
* reserved:
* IRQ4 ikc
* IRQ4 if_fv
* IRQ1 jag controller 0
* IRQ2 jag controller 1
* IRQ3 jag controller 2
* IRQ1 jag controller 3
* IRQ2 jag controller 4
* IRQ3 jag controller 5
* IRQ1 jag controller 6
* IRQ2 jag controller 7
* IRQ1 dkip
* IRQ1 xyl754
* IRQ2 xylipi
* IRQ5 cdsio
* IRQ4 if_fxp
* IRQ4 if_enp
*
*****************************************************************************
*
* A "diskless" kernel, built from system.dl is what is run while building
* the kernel for a 1 machine. It should be small, excluding
* everything not needed to build the real kernel. It is a
* "mini-root kernel" for 1 machines.
*
* The following statements direct lboot as it generates a kernel.
* There are 2 styles of VECTOR line. The preferred style is defined
* first and in depth in the driver writers guide and the system
* file man page. Also look within this file for examples.
*
* VECTOR directives must be before all other lboot directives which
* refer to modules, such as USE, INCLUDE, and EXCLUDE.
*
* VECTOR lines must occur in the opposite order that the devices
* should be probed. Do not change the order of the VECTOR
* lines in this file, unless you understand the implications.
*
* VECTOR: bustype module adapter [ipl [vector]] [ctlr] iospace iospace2
* iospace3 probe_space exprobe_space
*
* bustype: bus the device sits on.
* module: boot module
* adapter: identifies which bus of type bustype
* ipl: VME interrupt priority level
* ctlr: identifying number for driver
* iospace: base address of card
* iospace2,3: additional addresses passed to driver edtinit
* probe_space: address and size to be read to determine existence
* of card (not specified)
* exprobe_space: extended probe which allows for reading and value
* checking and writing of values as part of the probe.
*
* The old style VECTOR line is defined as:
*
* VECTOR: module [intr] [vector ipl unit] [base] [probe [probe_size]]
* [base2] [base3]
*
* module: boot module
* intr: interrupt function (default: module_prefix|"intr")
* vector: vme interrupt vector
* ipl: (vme or local IRQx) interrupt priority level
* do not specify it unless it is needed
* base: base address of card
* probe: address read to determine existence of card
* (no probe address implies existence)
* probe_size: size of probe (default 4 bytes)
* base2, base3: additional addresses passed to driver edtinit
* routine via edt structure
*
*==========================================================================
*
* System with multiple VME busses can reach higher levels of performance
* when certain boards are spread out among the available busses. For
* example, jaguar VME-SCSI boards are often alternated between the 2
* busses provided on a Dual VME system. In the past, the method for
* specifying which VME bus a device was connect to required the use of
* special VMEPREFIXs which would be prepended to the boards VME bus
* address. Now, it is a simpler matter of just determining the VME bus
* number that the device is on and changing the adapter=0 field in the
* VECTOR line to the appropriate value.
*
* On an IP19, the VME bus adapter number specified encodes the IO4 Ebus
* slot and the adapter position upon the IO4 to which the VME bus is
* connected. There are only 4 adapter positions on the IO4 which can
* be used for VME. These are positions 2, 3, 5 and 6. The prom command
* 'hinv -v -b' can be used to determine both the IO4 Ebus slot number
* and the IO4 adapter position of the VME bus adapter. The IO4 adapter
* positions 2, 3, 5 and 6 are translated into VME positions 0, 1, 2 and 3.
* The VME bus adapter number used in the VECTOR line is then computed as:
*
* VME adap # = IO4 Ebus Slot * 4 + VME position.
*
*
*****************************************************************************
NOPROBE: 1
*
*
* lboot/system-file version
VERSION: 3
*
* "6-port" (really 8-port) serial controller
VECTOR : bustype=VME module=cdsio ipl=5 ctlr=0 adapter=0 iospace=(A24S,0xF00000,0x10000) probe_space=(A24S,0xF0FFFF,1)
VECTOR : bustype=VME module=cdsio ipl=5 ctlr=1 adapter=0 iospace=(A24S,0xF10000,0x10000) probe_space=(A24S,0xF1FFFF,1)
VECTOR : bustype=VME module=cdsio ipl=5 ctlr=2 adapter=0 iospace=(A24S,0xF20000,0x10000) probe_space=(A24S,0xF2FFFF,1)
VECTOR : bustype=VME module=cdsio ipl=5 ctlr=3 adapter=0 iospace=(A24S,0xF30000,0x10000) probe_space=(A24S,0xF3FFFF,1)
*
* IKON Color Printer
*VECTOR : bustype=VME module=ikc ipl=4 ctlr=0 adapter=0 iospace=(A16S,0x9200,0x10) probe_space=(A16S,0x9200,2)
*
*
* Network Interfaces
*
* Primary interface is determined by network script via "primary"
* flag for "ifconfig" regardless of the order in lboot drv list.
*
*
* Integral Ethernet Hardware on 'IP5/7/9/17'. These must be ordered
* to make the correct interface "primary"
*
* ethernet interface on a second IO3
VECTOR: bustype=LOCAL module=if_et3 ctlr=1 adapter=1 iospace=(LANRAM, 0, *) iospace2=(LANIO, 0, *)
* ethernet interface on the first IO3
VECTOR: bustype=LOCAL module=if_et3 ctlr=0 adapter=0 iospace=(LANRAM, 0, *) iospace2=(LANIO, 0, *)
*
* CMC ENP-10 Ethernet board
*VECTOR : bustype=VME module=if_enp ipl=4 adapter=0 ctlr=3 iospace=(A24S,0xd80000,0x20000) probe_space=(A24S,0xd81000,2)
*VECTOR : bustype=VME module=if_enp ipl=4 adapter=0 ctlr=2 iospace=(A24S,0xda0000,0x20000) probe_space=(A24S,0xda1000,2)
VECTOR : bustype=VME module=if_enp ipl=4 adapter=0 ctlr=1 iospace=(A24S,0xdc0000,0x20000) probe_space=(A24S,0xdc1000,2)
VECTOR: bustype=VME module=if_enp ipl=4 adapter=0 ctlr=0 iospace=(A24S,0xde0000,0x20000) probe_space=(A24S,0xde1000,2)
*
* Formation fv1600 Token-Ring
*VECTOR : bustype=VME module=if_fv ipl=4 adapter=0 ctlr=3 iospace=(A32NP,0x19360000,0x80000) iospace2=(A16NP,0xb900,0x100) probe_space=(A16NP,0xb900,2)
*VECTOR : bustype=VME module=if_fv ipl=4 adapter=0 ctlr=2 iospace=(A32NP,0x19340000,0x80000) iospace2=(A16NP,0xb800,0x100) probe_space=(A16NP,0xb800,2)
VECTOR : bustype=VME module=if_fv ipl=4 adapter=0 ctlr=1 iospace=(A32NP,0x19320000,0x80000) iospace2=(A16NP,0xb700,0x100) probe_space=(A16NP,0xb700,2)
VECTOR : bustype=VME module=if_fv ipl=4 adapter=0 ctlr=0 iospace=(A32NP,0x19300000,0x80000) iospace2=(A16NP,0xb600,0x100) probe_space=(A16NP,0xb600,2)
*
* EFAST vertor line setu